﻿//Các hàm hỗ trợ các đối tượng HTML

//Thao tác với tag <select>
function selectClear(id) {
    $("#" + id + " option").remove();
}
function selectClearAt(id, pos) {
    $("#" + id + " option").each(function(i, option) {
        if (i == pos) {
            $(option).remove();
        }
    });
}
function selectAddItem(id, itemString, itemValue) {
    $("#" + id).append('<option value="' + itemValue + '">' + itemString + '</option>');
}
function selectGetSelectedIndex(id) {
    var index = $("#" + id)[0].selectedIndex;
    return index;
}

function selectGetSelectedValue(id) {
    var idx = $("#" + id)[0].selectedIndex;
    var sId = idx - 1;
    //alert(idx);
    var rs;
    $("#" + id + " option").each(function(i, sl) {
        if (i == idx) {
            rs = $(sl).attr('value');
        }
    });
    return rs;
}
function selectSelectAtVal(id, val) {
    $("#" + id).val(val);
}




//Thao tác với Checkbox
function checkboxGetCheckState(id) {
    var state = $("#" + id)[0].checked;
    return state;
}

function checkboxSetCheckState(id, state) {
    $("#" + id)[0].checked = state;
}

//Thao tác với Group checkbox
function groupCheckCheckAll(name) {
    $("input[name=" + name + "]").each(function(i, select) {
        select.checked = true;
    });
}

function groupCheckUncheckAll(name) {
    $("input[name=" + name + "]").each(function(i, select) {
        select.checked = false;
    });
}

function groupCheckGetCheckValue(name) {
    var valArr = new Array();
    $("input[name=" + name + "]").each(function(i, select) {
        if (select.checked) {
            var thisVal = $(select).attr("value");
            //alert(thisVal);
            valArr.push(thisVal);
        }
    });
    return valArr;
}

function groupCheckCheckAtvalue(name, val) {
    $("input[name=" + name + "]").each(function(i, select) {
        if ($(select).attr('value') == val) {
            select.checked = true;
        }
    });
}

//Thao tác với radio button

function radioGetCheckState(id) {
    var rs = $("#" + id)[0].checked;
    return rs;
}

function radioSetCheckState(id, state) {
    $("#" + id)[0].checked = state;
}


//Thao tác với group radio button

function groupRadioGetCheckValue(name) {
    var val;
    $("input[name=" + name + "]").each(function(i, select) {
        if (select.checked) {
            val = $(select).attr("value");
        }
    });
    return val;
}

function groupRadioUncheckAll(name) {
    $("input[name=" + name + "]").each(function(i, select) {
        select.checked = false;
    });

}

//Thao tác với bảng

//Xóa các dòng trong bảng trừ dòng đầu tiên


function tableDelAllRow(id) {
    $("#" + id + " tr:gt(0)").remove();
}

//Thêm một dòng mới
function tableAddRow(id, dataArr) {
    var r = "<tr>";
    for (var i = 0; i < dataArr.length; i++) {
        var t = "";
        if (dataArr[i] != null) {
            t = dataArr[i];
        }
        r += "<td>" + t + "</td>";
    }
    r += "</tr>";
    //alert(r);
    $("#" + id + "> tbody").append(r);
}

//Thêm một cột
function tableAddCol(id, header, dataArr) {
    var numRow = $("#" + id + " tr").length;
    var numCol = $("#" + id + " tr:eq(0) td").length;
    if (numRow == 0) {
        $("#" + id).html("<tr></tr>");
    }
    $("#" + id + " tr:eq(0)").append("<td>" + header + "</td>");
    $("#" + id + " tr:gt(0)").each(function(i, select) {
        var val = "";
        if (dataArr[i] != null) {
            val = dataArr[i];
        }
        $("#" + id + " tr:eq(" + (i + 1) + ")").append("<td>" + val + "</td>");
    });
    //var i = 0;
    numRow = $("#" + id + " tr").length;
    numCol = $("#" + id + " tr:eq(0) td").length;
    while (numRow < dataArr.length + 1) {

        var str = "<tr>";
        var i;
        for (i = 0; i < numCol - 1; i++) {
            str += "<td></td>";
        }
        str += "<td>" + dataArr[numRow - 1] + "</td>";
        str += "</tr>";
        $("#" + id + " tr:last").after(str);
        numRow = $("#" + id + " tr").length;
    }
}

//Xóa một cột tại vị trí bất kỳ
function tableDelCol(id, pos) {

    $("#" + id + " tr").each(function(i, select) {
        $("#" + id + " tr:eq(" + i + ") td:eq(" + pos + ")").remove();
    });
}



//Xóa một dòng tại vị trí bất kỳ

function tableDelRow(id, pos) {
    $("#" + id + " tr").each(function(i, tag) {
        if (i == pos) {
            $(tag).remove();
        }
    });
}

//

//Đặt giá trị cho một ô bất kỳ
function tableSetValAt(id, x, y, val) {
    $("#" + id + " tr:eq(" + y + ") td:eq(" + x + ")").html(val);
}

//Đặt giá trị cho 1 dòng
function tableSetRow(id, pos, valArr) {
    $("#" + id + " tr:eq(" + pos + ") td").each(function(i, tag) {
        $(tag).html(valArr[i]);
    });
}

//Thao tac voi Textbox
function textboxGetText(id) {
    return $("#" + id).val();
}

//Dat gi trij cho Textbox
function textboxSetText(id, val) {
    $("#" + id).val(val);
}



//Thao tác với <ul>

function ulClearAll(id) {
    $("#" + id + " li").remove();
}

function ulAddElement(id, el) {
    $("#" + id).append("<li>" + el + "</li>");
}
